home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / mail / pine3.96.tar.gz / pine3.96.tar / pine3.96 / imap / non-ANSI / c-client / pop3.h < prev    next >
C/C++ Source or Header  |  1994-06-07  |  4KB  |  139 lines

  1. /*
  2.  * Program:    Post Office Protocol 3 (POP3) client routines
  3.  *
  4.  * Author:    Mark Crispin
  5.  *        Networks and Distributed Computing
  6.  *        Computing & Communications
  7.  *        University of Washington
  8.  *        Administration Building, AG-44
  9.  *        Seattle, WA  98195
  10.  *        Internet: MRC@CAC.Washington.EDU
  11.  *
  12.  * Date:    6 June 1994
  13.  * Last Edited:    6 June 1994
  14.  *
  15.  * Copyright 1994 by the University of Washington
  16.  *
  17.  *  Permission to use, copy, modify, and distribute this software and its
  18.  * documentation for any purpose and without fee is hereby granted, provided
  19.  * that the above copyright notices appear in all copies and that both the
  20.  * above copyright notices and this permission notice appear in supporting
  21.  * documentation, and that the name of the University of Washington not be
  22.  * used in advertising or publicity pertaining to distribution of the software
  23.  * without specific, written prior permission.  This software is made
  24.  * available "as is", and
  25.  * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  26.  * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  27.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  28.  * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  29.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
  30.  * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  31.  * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN
  32.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  33.  *
  34.  */
  35.  
  36. /* POP3 specific definitions */
  37.  
  38. /* Parameters */
  39.  
  40. #define MAXLOGINTRIALS 3    /* maximum number of login trials */
  41. #define POP3TCPPORT (long) 110    /* assigned TCP contact port */
  42.  
  43.  
  44. /* Command bits from pop3_getflags() */
  45.  
  46. #define fSEEN 1
  47. #define fDELETED 2
  48. #define fFLAGGED 4
  49. #define fANSWERED 8
  50.  
  51.  
  52. /* POP3 I/O stream local data */
  53.  
  54. typedef struct pop3_local {
  55.   TCPSTREAM *tcpstream;        /* TCP I/O stream */
  56.   char *host;            /* server host name */
  57.   char *response;        /* last server reply */
  58.   char *reply;            /* text of last server reply */
  59.   char *buf;            /* temporary buffer */
  60.   unsigned long buflen;        /* current size of temporary buffer */
  61.   char **header;        /* message headers */
  62.   char **body;            /* message bodies */
  63. } POP3LOCAL;
  64.  
  65.  
  66. /* Convenient access to local data */
  67.  
  68. #define LOCAL ((POP3LOCAL *) stream->local)
  69.  
  70. /* Function prototypes */
  71.  
  72. DRIVER *pop3_valid  ();
  73. void *pop3_parameters  ();
  74. void pop3_find  ();
  75. void pop3_find_bboards  ();
  76. void pop3_find_all  ();
  77. void pop3_find_all_bboards  ();
  78. long pop3_subscribe  ();
  79. long pop3_unsubscribe  ();
  80. long pop3_subscribe_bboard  ();
  81. long pop3_unsubscribe_bboard  ();
  82. long pop3_create  ();
  83. long pop3_delete  ();
  84. long pop3_rename  ();
  85. MAILSTREAM *pop3_open  ();
  86. void pop3_close  ();
  87. void pop3_fetchfast  ();
  88. void pop3_fetchflags  ();
  89. ENVELOPE *pop3_fetchstructure  ();
  90. char *pop3_fetchheader  ();
  91. char *pop3_fetchtext  ();
  92. char *pop3_fetchtext_work  ();
  93. char *pop3_fetchbody  ();
  94. void pop3_setflag  ();
  95. void pop3_clearflag  ();
  96. void pop3_search  ();
  97. long pop3_ping  ();
  98. void pop3_check  ();
  99. void pop3_expunge  ();
  100. long pop3_copy  ();
  101. long pop3_move  ();
  102. long pop3_append  ();
  103. void pop3_gc  ();
  104.  
  105. long pop3_send_num  ();
  106. long pop3_send  ();
  107. long pop3_reply  ();
  108. long pop3_fake  ();
  109. short pop3_getflags  ();
  110. char pop3_search_all  ();
  111. char pop3_search_answered  ();
  112. char pop3_search_deleted  ();
  113. char pop3_search_flagged  ();
  114. char pop3_search_keyword  ();
  115. char pop3_search_new  ();
  116. char pop3_search_old  ();
  117. char pop3_search_recent  ();
  118. char pop3_search_seen  ();
  119. char pop3_search_unanswered  ();
  120. char pop3_search_undeleted  ();
  121. char pop3_search_unflagged  ();
  122. char pop3_search_unkeyword  ();
  123. char pop3_search_unseen  ();
  124. char pop3_search_before  ();
  125. char pop3_search_on  ();
  126. char pop3_search_since  ();
  127. unsigned long pop3_msgdate  ();
  128. char pop3_search_body  ();
  129. char pop3_search_subject  ();
  130. char pop3_search_text  ();
  131. char pop3_search_bcc  ();
  132. char pop3_search_cc  ();
  133. char pop3_search_from  ();
  134. char pop3_search_to  ();
  135. typedef char (*search_t)  ();
  136. search_t pop3_search_date  ();
  137. search_t pop3_search_flag  ();
  138. search_t pop3_search_string  ();
  139.